package com.luo.jiuyuetest.service;

import com.luo.jiuyuetest.dto.SupplierInfoDTO;
import com.luo.jiuyuetest.dto.SupplierTreeDTO;
import com.luo.jiuyuetest.entity.Supplier;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author luozhibin
 * @since 2025-11-04
 */
public interface SupplierService extends IService<Supplier> {

    /**
     * 查询供应商列表（支持模糊查询）
     * @param name 供应商名称（可选，用于模糊查询）
     * @return 供应商基本信息列表
     */
    List<SupplierInfoDTO> getSupplierList(String name);



    /**
     * 删除指定供应商及其所有产品和零件（级联删除）
     * @param supplierName 供应商名称
     * @return 删除结果消息
     */
    String deleteSupplierWithRelated(String supplierName);


    /**
     * 生成供应商-产品-零件的树形结构
     * @return 树形结构数据
     */
    List<SupplierTreeDTO> getTreeStructure();
}